/*
package com.hongyi.service.Impl;

import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
import com.hongyi.dto.SiteDto;
import com.hongyi.mapper.SiteMapper;
import com.hongyi.pojo.Site;
import com.hongyi.service.SiteService;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

*/
/**
 * @Author: hongyi
 * @CreateTime: 2024-10-21
 *//*



@Service
public class SiteServiceImpl03 implements SiteService {

    @Autowired
    private SiteMapper siteMapper;

    @Override
    public List<SiteDto> queryAll() {
        // 定义返回结果
        List<SiteDto> result = new ArrayList<>();
        // 1. 查询所有数据
        List<Site> sites = siteMapper.queryAll();
        // 2. 将查询到的数据封装到SiteDto中
        if (sites != null && sites.size() > 0) {
            List<SiteDto> siteDtoArraylist = new ArrayList<>();
            // 定义一个map
            Map<Long, SiteDto> map = new HashMap<>();
            for (Site site : sites) {
                SiteDto siteDto = new SiteDto();
                BeanUtils.copyProperties(site, siteDto);
                siteDto.setCurrentName(site.getCurrentName());
                siteDto.setCreatedTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(site.getCreatedTime()));
                siteDto.setUpdatedTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(site.getUpdatedTime()));
                siteDtoArraylist.add(siteDto);
                map.put(site.getId(), siteDto);

            }

            // 查找子节点
            for (SiteDto siteDto : siteDtoArraylist) {
                List<SiteDto> children = getChildren(siteDto.getId(), map);
                siteDto.setSiteDtoList(CollectionUtils.isNotEmpty(children)?children:null);
            }

            // 返回结果
            for (SiteDto siteDto : siteDtoArraylist) { // 查找父节点
               if(siteDto.getPid().equals(0l)) {
                   result.add(siteDto);
               }
            }


        }
         return result;
    }

    public static  List<SiteDto> getChildren(Long id, Map<Long, SiteDto> map) {
        // 递归查找子节点
        ArrayList<SiteDto> siteDtoArrayList = new ArrayList<>();

        for (SiteDto siteDto : map.values()) { // 判断当前节点的父节点是否是传入的id
            if (siteDto.getPid().equals(id)) {
               siteDtoArrayList.add(siteDto);
            }
        }
        return siteDtoArrayList;


    }

}
*/
